package cn.edu.wynu.apis.map;

import java.util.HashMap;

public class HashMapLearn {
    public static void main(String[] args) {
        // 创建HashMap
        HashMap map = new HashMap();
        // 添加元素使用put方法
        map.put("张三", 90);
        // map["张三"] = 90; // python里面的写法,和java里面的put方法是等价的
        map.put("李四", 80);
        map.put("王五", 70);

        // 获取元素使用get方法
        System.out.println("张三的成绩为: " + map.get("张三"));
        // 覆盖原有的值,put方法,如果键不存在,则添加,如果键存在,则覆盖原有的值
        map.put("张三", 95);
        System.out.println("张三的成绩为: " + map.get("张三"));

        // 删除元素使用remove方法. 返回值为被删除的kv对中的v
        Object value = map.remove("李四");
        System.out.println("删除的李四的成绩为: " + value);
        System.out.println("李四的成绩为: " + map.get("李四"));
        System.out.println(map);

        // 遍历HashMap
        for (Object key : map.keySet()) {
            System.out.println(key + "的成绩为: " + map.get(key));
        }

        for (Object va : map.values()) {
            System.out.println(va);
        }

        for (Object entry : map.entrySet()) {
            System.out.println(entry);
        }
    }
}
